
$(function(){
    
    $.datepicker.regional['es'] = {
        closeText: 'Cerrar', 
        prevText: 'Previo', 
        nextText: 'Próximo',
        monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
        monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic'],
        monthStatus: 'Ver otro mes', yearStatus: 'Ver otro año',
        dayNames: ['Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sábado'],
        dayNamesShort: ['Dom','Lun','Mar','Mie','Jue','Vie','Sáb'],
        dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','Sa'],
        dateFormat: 'dd/mm/yy', firstDay: 0, 
        initStatus: 'Selecciona la fecha', isRTL: false};
    $.datepicker.setDefaults($.datepicker.regional['es']);
    
    $( "#txtTicketDesdeSearch" ).datepicker({
      defaultDate: "+1w",
      changeMonth: true,
      numberOfMonths: 1,
      dateFormat:'dd/mm/yy',
      onClose: function( selectedDate ) {
        $( "#txtTicketHastaSearch" ).datepicker( "option", "minDate", selectedDate );
      }
    });
    $( "#txtTicketHastaSearch" ).datepicker({
      defaultDate: "+1w",
      changeMonth: true,
      numberOfMonths: 1,
      dateFormat:'dd/mm/yy',
      onClose: function( selectedDate ) {
        $( "#txtTicketDesdeSearch" ).datepicker( "option", "maxDate", selectedDate );
      }
    });
    
    $("#txtTicketDesdeSearch").datepicker({dateFormat:'dd/mm/yy'});
    $("#txtTicketDesdeSearch").datepicker("setDate",new Date());
    $("#txtTicketHastaSearch").datepicker({dateFormat:'dd/mm/yy'});
    $("#txtTicketHastaSearch").datepicker("setDate",new Date());
    
    generarCodigo();
    listarAreas("ddlArea","000","seleccionar");
    
    $("#btnGenerar").click(function(){
        validarCUM();
    });
    
    $("#txtCodigoCUM").keypress(function(e){
        return solonumeros(e);
    });
    $("#btnBuscarTicket").click(function(){
        buscar();
        btnReport = document.getElementById("divReporte");
        btnReport.style.visibility = "visible";
    }).button();
    
    btnReport = document.getElementById("divReporte");
    btnReport.style.visibility = "hidden";
    
    $("#btnReporte").click(function(){
        generarReporte();
    });
    
    buscar();
});

var generarReporte = function(){
    var reporte = {
        opc:"ticketRep",
        id_ticket: $("#txtTicketSearch").val(),
        fecha_desde: $("#txtTicketDesdeSearch").val(),
        fecha_hasta: $("#txtTicketHastaSearch").val()
    };
    $.ajax({
        data:reporte,
        url:'ajax/ajaxReporte.php',
        type:'POST',
        success:function(response){
            var reporte = window.open('');
            reporte.document.write(response);
        }
    });
};

var validarCUM = function(){
    if(ValidarRequeridos()){
        var cum = {
            opc:'bus',
            cum:$("#txtCodigoCUM").val(),
            anio:'',
            actividad:$("#lstActividad").val()
        };
        $.ajax({
            data:cum,
            url:'ajax/ajaxAnular.php',
            type:'POST',
            success:function(response){
//                alert(response);
                if(response == 0){
                    msgError("El Numero de CUM no es Valido","txtCodigoAnu");
                }else if(response == 2){
                    msgError("El Numero de CUM ya tiene un Ticket asignado","txtCodigoAnu");
                }else{
                    if($("#lstActividad").val() == "Anular"){
                        generarTicket();
                    }else if($("#lstActividad").val() == "Revertir"){
                        validarEstadoCUM();
                    }else if($("#lstActividad").val() == "Activar"){
                        validarActivarCUM();
                    }
                }
            }
        });
    }
};

var validarActivarCUM = function(){
    var cum = {
        opc:'bus',
        ID_MULTA:$("#txtCodigoCUM").val()
    };
    $.ajax({
        data:cum,
        url:'ajax/ajaxActivar.php',
        type:'POST',
        success:function(response){
            if(response != 1){
                msgError("No se puede Activar el CUM porque no esta Anulado");
            }else{
                generarTicket();
            }
        }
    });
};

var validarEstadoCUM = function(){
    var cum = {
        opc:'bus',
        cum:$("#txtCodigoCUM").val()
    };
    $.ajax({
        data:cum,
        url:'ajax/ajaxRevertir.php',
        type:'POST',
        success:function(response){
            if(response == 1){
                msgError("No se puede Revertir el CUM porque tiene asociado un numero de file.","txtCodigoAnu");
            }else if(response == 2){
                msgError("No se puede Revertir el CUM porque su estado esta concluido","txtCodigoAnu");
            }else{
                generarTicket();
            }
        }
    });
};

var generarTicket = function(){
    var ticket = {
        opc:'ins',
        codigo:$("#txtCodigoTicket").val(),
        actividad:$("#lstActividad").val(),
        cum:$("#txtCodigoCUM").val(),
        area:$("#ddlArea").val()
    };
    $.ajax({
        data:ticket,
        url:'ajax/ajaxTicket.php',
        type:'POST',
        success:function(response){
            if(response == 1){
                alert("Se registro el numero de ticket correctamente.");
                redireccionar();
            }else{
                alert("No se pudo registrar el ticket");
            }
        }
    });
};

var redireccionar = function(){
    var dato = $("#lstActividad").val();
    if(dato == "Anular"){
        window.location="http://localhost:8080/SAI2/sai4/index.php?set=2";
    }else if(dato == "Revertir"){
        window.location="http://localhost:8080/SAI2/sai4/index.php?set=3";
    }else{
        window.location="http://localhost:8080/SAI2/sai4/index.php?set=4";
    }
};

var generarCodigo = function (){
    var codigo = {opc:'cod'};
    $.ajax({
        data:codigo,
        url:'ajax/ajaxTicket.php',
        type:'POST',
        success:function(response){
            $("#txtCodigoTicket").val(response);
        }
    });
};

var buscar = function() {

    var vid_ticket = $("#txtTicketSearch").val();
    var vfecha_desde = $("#txtTicketDesdeSearch").val();
    var vfecha_hasta = $("#txtTicketHastaSearch").val();
    var vurli='ajax/ajaxTicket.php?opc=bus&nd='+new Date().getTime()+'&codigo='+vid_ticket+'&fecha_desde='+vfecha_desde+'&fecha_hasta='+vfecha_hasta;
    
    var ticket = {
        opc:"bus",
        codigo: $("#txtTicketSearch").val(),
        fecha_desde: $("#txtTicketDesdeSearch").val(),
        fecha_hasta: $("#txtTicketHastaSearch").val()
    };
    $("#grid").jqGrid("clearGridData", true);
    $("#grid").jqGrid('setGridParam',{url:vurli,datatype:'json',mtype: 'POST',postData:ticket}).trigger('reloadGrid');
    
    jQuery("#grid").jqGrid({
        url:vurli,
        datatype: "json",
        mtype: 'POST',
        postData:ticket,
        colNames: ['Codigo','Item','Nro. Ticket', 'CUM','Actividad','Area','Estado','Fec. Creacion','Usuario Creo','Fec. Cierre','Usuario Cerro','INICIO','FIN'],
        colModel: [
                    {name: 'CODIGO',index: 'CODIGO',width: 10,sorttype:"string",hidden:true},
                    {name: 'ITEM',index: 'ITEM',width: 40,sorttype:"string"},
                    {name: 'ID_TICKET',index: 'ID_TICKET',width: 70,sorttype:"string"},
                    {name: 'ID_MULTA',index: 'ID_MULTA',width: 70,sorttype:"string"},
                    {name: 'ACTIVIDAD',index: 'ACTIVIDAD',width: 70,sorttype:"string"},
                    {name: 'AREA',index: 'AREA',width: 70,sorttype:"string"},
                    {name: 'ESTADO',index: 'ESTADO',width: 100,sorttype:"string"},
                    {name: 'AUDFECCREACION',index: 'AUDFECCREACION',width: 100,sorttype:"string"},
                    {name: 'USUCREACION',index: 'USUCREACION',width: 100,sorttype:"string"},
                    {name: 'AUDFECMODIFICACION',index: 'AUDFECMODIFICACION',width: 100,sorttype:"string"},
                    {name: 'USUMODIFICACION',index: 'USUMODIFICACION',width: 100,sorttype:"string"},
                    {name: 'INICIO',index: 'INICIO',width: 100,sorttype:"string",hidden:true},
                    {name: 'FIN',index: 'FIN',width: 100,sorttype:"string",hidden:true}
                  ],
        rowNum:10,
   	rowList:[10,20,30],
   	pager: '#pager',
   	sortname: 'id',
        viewrecords: true,
        sortorder: "desc",
        multiselect: false,
        multiSort:true,
        width: "1000",
        height: "180",
        caption: "Tickets"
    }).navGrid("#pager", {
        edit: false,
        add: false,
        search: false,
        del: false
    });
    
    
};

jQuery.extend(jQuery.jgrid.edit, {
    ajaxEditOptions: { contentType: "application/json" },
    recreateForm: true,
    serializeEditData: function (postData) {
        return JSON.stringify(postData);
    }
});

jQuery.extend(jQuery.jgrid.del, {
    ajaxDelOptions: { contentType: "application/json" },
    serializeDelData: function (postData) {
        return JSON.stringify(postData);
    }
});